serwis komputerowy, odzyskiwanie danych


Dlaczego SSD-ki się psują?



Przechowujące dane w układach Flash-NAND dyski SSD są szybsze i wydajniejsze (tak przynajmniej twierdzą producenci i sprzedawcy) od dysków twardych. Są ciche i zużywają mniej prądu. Ponieważ przechowują dane w układach scalonych, nie potrzebują skomplikowanego, precyzyjnego i podatnego na usterki mechanizmu. Odporność SSDków na usterki mechaniczne urosła w materiałach marketingowych do rangi dogmatu o niezawodności. Spadające ceny spowodowały, że w ostatnich latach SSDki bardzo się spopularyzowały, jednocześnie rzeczywistość brutalnie rozwiała mit o ich bezawaryjności.
W teorii możliwe jest konstruowanie urządzeń elektronicznych, które mogą bezawaryjnie przepracować kilkanaście, a nawet kilkadziesiąt lat, jednak w praktyce nietrudno spotkać podzespoły komputerowe, które psują się już w pierwszym dniu eksploatacji. I bardzo często jest to właśnie SSD, który odmawia współpracy już na etapie instalacji systemu operacyjnego. Skąd więc bierze się tak duża awaryjność SSD i na ile można im zaufać jako nośnikom danych?



Przechowywanie danych w SSD



Za przechowywanie danych w nośnikach wykorzystujących układy Flash-NAND (nie tylko SSD, ale też pendrivy, karty pamięci i pamięci wbudowane w urządzenia takie, jak np. smartfony) odpowiadają zmodyfikowane tranzystory polowe typu npn. Taki tranzystor składa się z trzech elektrod – obszarów półprzewodnika – dwóch bogatych w elektrony (a więc naładowanych ujemnie, stąd oznaczenie „n”, jak „negatywnie”) źródła i drenu rozdzielonych obszarem ubogim w elektrony (naładowanym dodatnio – stąd litera „p”, jak „pozytywnie”). W tych tranzystorach nośnikiem odpowiedzialnym za przepływ prądu są elektrony. Pomiędzy źródłem, a drenem znajduje się odizolowana elektrycznie bramka służąca do sterowania tranzystorem.
Istnieją też tranzystory typu pnp, w których dodatnio naładowane są źródło i dren, a ujemnie - bramka. Jednak tego typu tranzystorów nie używa się w układach flashowych. Tranzystory polowe nazywane są unipolarnymi, dlatego, że prąd w nich jest przenoszony wyłącznie przez nośniki większościowe. Dla tranzystorów typu npn są to elektrony, a dla pnp - tzw. dziury. Oprócz tranzystorów unipolarnych w innych zastosowaniach można spotkać tranzystory bipolarne, w których prąd elektryczny jest przenoszony zarówno przez nośniki większościowe, jak i mniejszościowe. Tranzystory bipolarne nazywa się też złączowymi lub warstwowymi.
W takim tranzystorze pod wpływem pola elektrycznego (dlatego tranzystor nazywa się „polowy”) tworzy się kanał zwany kanałem n, który pozwala na przepływ elektronów pomiędzy źródłem, a drenem. Jeśli jednak przyłożymy napięcie do bramki, kanał n się zamyka i prąd między źródłem, a drenem przestaje płynąć. Tranzystory, w których kanał n jest otwarty, a zamyka się po przyłożeniu napięcia do bramki nazywa się tranzystorami z kanałem zubażanym, w elektronice korzysta się też z tranzystorów z kanałem wzbogacanym, w których przyłożenie napięcia do bramki skutkuje otwarciem kanału tranzystora.
Aby użyć takiego tranzystora do nieulotnego przechowywania danych, konieczne było zmodyfikowanie bramki. Została ona podzielona na bramkę sterującą i, najważniejszą część dla przechowywania informacji, bramkę pływającą. Bramka pływająca jest to odizolowany elektrycznie obszar, w którym można zgromadzić ładunek elektryczny, jaki utrzymuje się po odłączeniu urządzenia od zasilania. A o to właśnie w przechowywaniu danych chodzi, żeby ich nie gubić po odłączeniu nośnika od zasilania.
Jeśli w bramce pływającej zgromadzimy ładunek elektryczny, uzyskamy efekt zamknięcia kanału n podobnie, jakbyśmy przyłożyli do bramki napięcie. Jeżeli zaś bramka pływająca będzie pusta, kanał n będzie otwarty i prąd będzie mógł swobodnie płynąć między źródłem, a drenem. Dlatego zazwyczaj pusta bramka pływająca jest interpretowana, jako logiczna jedynka, a bramka naładowana, zamykająca kanał n – jako logiczne zero.



Adresowanie danych w SSD



Z perspektywy użytkownika jesteśmy przyzwyczajeni do adresowania danych w strukturach logicznych systemów plików. Na co dzień posługujemy się partycjami, plikami i katalogami. Jeśli interesujemy się trochę komputerami, wiemy też o klastrach i sektorach. Z kolei układy NAND chyba nie interesują się komputerami, bo one o sektorach nie mają pojęcia.
Sektory LBA są używane w komunikacji pomiędzy różnymi urządzeniami i oprogramowaniem. Dyski SSD przyjmują polecenia dotyczące wykonania operacji na konkretnych adresach LBA i zwracają je na interfejsie zewnętrznym dla zachowania zgodności z protokołami komunikacyjnymi takimi, jak np. protokół ATA. Jednak wewnętrzna komunikacja pomiędzy kontrolerem, a układami pamięci odbywa się zgodnie ze standardem ONFI.
Zgodnie z tym standardem dane są adresowane w stronach i blokach. Strona jest minimalną jednostką odczytu i zapisu. Jej rozmiar odpowiada rozmiarowi rejestru strony i współcześnie sięga rozmiaru ok. 16 kB. Tak, to odpowiednik 32 liczących po 512 B sektorów LBA, które kontroler odpowiednio wycina z odpowiedniej strony odpowiadając na żądanie komputera. Strona oprócz sektorów użytkownika zawiera też informację nadmiarową przechowującą różnego rodzaju dane niezbędne do poprawnej pracy nośnika. Struktura rozmieszczenia danych użytkownika i informacji nadmiarowej wewnątrz strony nazywa się formatem strony. Skąd kontroler wie, w której stronie znajduje się szukany sektor? Odpowiada za to podsystem translacji adresów logicznych na fizyczne, do którego jeszcze parę razy wrócimy dalej.
Kolejną jednostką adresowania jest blok liczący od kilku do nawet kilkuset stron. Jest to minimalna jednostka kasowania danych. W odróżnieniu od nośników magnetycznych, w układach typu Flash nie jest możliwe bezpośrednie nadpisywanie poprzedniej zawartości. Programować możemy jedynie tranzystory, których bramki pływające zostały uprzednio skasowane – opróżnione z elektronów. Dlatego fabrycznie nowe lub całkowicie puste układy odczytywane na programatorze zwracają wartość 0xFF. Tę wartość zwracają też puste bloki oraz niezaprogramowane końcowe fragmenty stron, jeśli w formacie strony występują takie niewykorzystane obszary.



Podstawowe operacje i ich wpływ na zużycie układów Flash-NAND



Ponieważ w przypadku układów typu Flash nie mamy fizycznej możliwości bezpośredniego nadpisywania już istniejącej zawartości, zapisywać (programować) możemy jedynie puste bramki pływające tranzystorów. Dlatego konieczna jest obsługa trzech podstawowych operacji: programowania pożądanej zawartości, jej odczytu oraz kasowania nieaktualnych danych. Edycja od strony fizycznej polega na odczytaniu pierwotnej zawartości do bufora, zmianie i zapisaniu w fizycznie innej lokalizacji. Tu znowu dotykamy podsystemu translacji, który musi zarejestrować przeniesienie adresów LBA w inne miejsce oraz przeznaczenie ich pierwotnej lokalizacji do skasowania. Skasowane bloki będą mogły zostać użyte podczas kolejnych zapisów i wtedy w tablicach translacji zostaną im przypisane nowe odpowiednie adresy LBA.
Układy Flash-NAND z założenia ulegają stopniowemu zużyciu. Jest to związane ze sposobem umieszczania elektronów w bramkach pływających w operacji programowania i uwalniania ich podczas kasowania. Ponieważ bramka pływająca jest odseparowana elektrycznie od reszty tranzystora izolatorem, jeśli chcemy umieścić w niej elektrony lub też je uwolnić, muszą one pokonać tworzoną przez izolator barierę potencjału. Zadanie to jest wykonywane zazwyczaj z wykorzystaniem znanego z mechaniki kwantowej zjawiska tunelowania Fowlera – Nordheima.
Tunelowanie Fowlera – Nordheima do pokonania bariery potencjału wykorzystuje falowe właściwości elektronów, jednak wymaga użycia wyższych napięć, sięgających kilkunastu, a nawet do 20 V. Operacja ta wiąże się ze stratami energii rozpraszanej w postaci ciepła pracy elektrycznej (ciepła Joule’a, które najlepiej znamy z pracy układów, na jakich musimy ustawiać radiatory oraz z grzałek elektrycznych) i obciąża izolator doprowadzając z czasem do jego uszkodzenia. Zdegradowany izolator przestaje utrzymywać ładunek w bramce pływającej, przez co dochodzi do ucieczki elektronów, a tym samym do upływności danych.
Odczyt polega na przyłożeniu napięcia pomiędzy źródłem, a drenem (sprawdzamy, czy kanał n jest otwarty, czy zamknięty, a więc pośrednio, czy bramka pływająca jest pusta, czy naładowana). Jeśli tranzystor jest otwarty, kontroler interpretuje to jako logiczną jedynkę, a jeśli zamknięty – jako zero. Jest to operacja nieobciążająca izolatora bramki pływającej, a przez to neutralna dla żywotności układu. Dlatego właśnie żywotność układów NAND podaje się w liczbie cyklów operacji zapisu/kasowania.



A może by tak zwiększyć liczbę bitów przechowywanych w tranzystorze?



Układy Flash-NAND w swoich początkach były bardzo drogie, nie dziwi więc, że poszukiwano sposobu poprawy stosunku pojemności do ceny. Jednym ze sposobów podwojenia pojemności układów było umieszczenie w jednym tranzystorze dwóch bitów danych. Efekt ten można uzyskać ładując bramkę pływającą do określonego poziomu, co powoduje odpowiednio kontrolowane przymknięcie kanału n. Żeby móc przechowywać dwa bity w jednym tranzystorze, potrzebujemy wyróżnić 4 stany logiczne (00, 01, 10 i 11), a więc i 4 odpowiadające tym stanom poziomy naładowania bramki pływającej.
Naturalnym jest, że księgowym ten pomysł się spodobał i oczekiwali od inżynierów dalszego rozwoju technologii wielostanowej, ale nie było to już takie proste. Umieszczenie trzeciego bitu w tranzystorze nie podwaja już pojemności układu, a podnosi ją zaledwie o połowę. A co w takim razie dzieje się z poziomami naładowania tranzystora? Tak, ich liczbę nadal musimy podwoić. Jeśli chcemy w jednym tranzystorze umieścić aż trzy bity, potrzebujemy wyróżnić 8 poziomów naładowania odpowiadających wartościom logicznym od 000 do 111. I oczywiście dołożenie każdego kolejnego bitu do tranzystora w coraz mniejszym stopniu przekłada się na wzrost pojemności układu przy jednoczesnym wykładniczym wzroście wymaganych odróżnialnych poziomów naładowania bramek pływających.
Pogarszający się stosunek sygnału do szumu wynikający z coraz mniejszego odstępu pomiędzy wartościami napięć reprezentującymi kolejne stany logiczne sprzyja przekłamaniom przy odczycie i pojawianiu się błędów bitowych. Także operacja programowania tranzystorów musi być wykonywana coraz precyzyjniej, bo również przy zapisie może dochodzić do błędów. Wprowadzanie elektronów do bramek pływających za pomocą mechaniki kwantowej nie pozwala na uzyskanie powtarzalnej precyzji i dokładności. Możliwe jest co najwyżej ładowanie tych bramek mniej więcej taką liczbą elektronów, jaka jest potrzebna. Oznacza to, że w wielu bramkach pływających znajdują się ładunki o wartościach zbliżonych do sąsiednich stanów logicznych, a w niektórych reprezentujące stany inne od zamierzonych.
Teoretycznie można by było na każdy błąd zapisu reagować powtórzeniem operacji, jednak w praktyce nie jest to możliwe. Przy ponownym programowaniu strony liczącej tysiące bajtów, a więc dziesiątki tysięcy bitów jest bardzo prawdopodobne, że przy kolejnym zapisie znowu wystąpią jakieś błędy. W ten sposób można by było nie doczekać się zakończenia operacji zapisu powodzeniem. Nie zapominajmy też o tym, że każdy kolejny zapis zużywa układ i przybliża nas do ostatecznej awarii. Dlatego przy akceptowalnie małej liczbie błędów trzeba odpuścić dążenie do doskonałości i zdać się na działanie matematyki kodów korekcji ECC - Error Correction Code.
W momencie wprowadzenia na rynek układów oferujących przechowywanie dwóch bitów w jednym tranzystorze, starsze układy, przechowujące jeden bit danych na tranzystor, otrzymały oznaczenie SLC (Single Level Cell), zaś układy z dwoma bitami na tranzystor zostały nazwane MLC (Multi Level Cell). Kolejne układy, przechowujące trzy bity w każdym tranzystorze, to TLC (Triple Level Cell). Najnowsze z aktualnie dostępnych układów Flash-NAND mają oznaczenie QLC (Quad Level Cell) i przechowują 4 bity w każdym tranzystorze. A ponieważ oznaczenie MLC czasem bywa używane także ogólnie w odniesieniu do wszystkich rodzajów pamięci wielostanowych, niektórzy mniej uczciwi sprzedawcy używają tego skrótu także dla oznaczania gorszych układów TLC i QLC.
Umieszczanie kolejnych bitów informacji w tranzystorze nie tylko obniża stosunek sygnału do szumu, ale też negatywnie wpływa na wydajność i żywotność układów Flash-NAND. Odczyt wymaga porównywania zmierzonego napięcia z kilkoma wartościami napięć odniesienia, co zabiera czas. Także programowanie odbywa się w kilku etapach, za co płacimy już nie tylko dłuższym czasem wykonania operacji, ale też większym obciążeniem izolatorów bramek pływających. W konsekwencji izolator szybciej ulega degradacji, a żywotność układów, która w przypadku pamięci SLC przekraczała 100.000 operacji kasowania/zapisu, dla pamięci MLC spada do wciąż jeszcze rozsądnego poziomu kilkunastu tysięcy cykli kasowania/zapisu. Dla pamięci TLC deklarowane przez producentów wartości mieszczą się zazwyczaj w granicach 3-5 tysięcy cykli, jednak najsłabsze z układów tej klasy wytrzymują zaledwie ok. 1500 cykli. W przypadku najnowszych pamięci QLC ich żywotność spada do poziomu kilkuset (typowo ok. 600 operacji kasowania/zapisu.
Wobec drastycznego spadku trwałości układów NAND producenci uciekają się do sztuczki marketingowej polegającej na zastąpieniu informacji o resursach operacji kasowania/zapisu parametrem TBW (Total Bytes Written). Z pewnością o wiele większe zaufanie wzbudzi informacja, że dysk o pojemności 1 TB ma parametr TBW 1,5 PB niż, że użyte w nim układy mają żywotność półtora tysiąca operacji kasowania/zapisu. Bo tę żywotność możemy obliczyć dzieląc parametr TBW przez pojemność nośnika. I nie zapominajmy o tym, że minimalną jednostką zapisu jest strona licząca często 8 lub 16 kB, a więc tych zapisywanych bajtów zwykle ubywa nam dużo szybciej, niż mogłoby się nam na pierwszy rzut oka wydawać.
Pomimo wykładniczo rosnących problemów związanych z występowaniem błędów bitowych i żywotnością układów, niektórzy producenci już zapowiadają wprowadzenie na rynek układów przechowujących 5 bitów w każdym tranzystorze, które mają być oznaczone symbolem PLC. Układy PLC musiałyby rozróżnić 25=32 poziomy naładowania. Przy nominalnym napięciu zasilającym 3,3 V będzie to oznaczało konieczność odróżniania kolejnych stanów logicznych co ~0,1  V. Jednocześnie trudno oczekiwać, żeby żywotność takich układów przekroczyła 100 operacji kasowania – zapisu. Jak na nośnik wielokrotnego zapisu, to wcale nie jest dużo.



Zmniejszamy rozmiar tranzystora.



To się dzieje od początku nowoczesnej elektroniki – do zmniejszania rozmiaru elementów dążono jeszcze przed pojawieniem się układów scalonych. Zmniejszanie procesu litograficznego pozwala na produkowanie coraz tańszych, mniejszych, zużywających mniej prądu, wydzielających mniej ciepła, a jednocześnie coraz wydajniejszych układów scalonych o coraz wyższym stopniu integracji. Proces ten dotyczy także układów flashowych. Jeśli zmniejszymy rozmiar tranzystorów, możemy ich upchnąć więcej w obudowie układu scalonego o ustandardyzowanych wymiarach, a tym samym zwiększyć jego pojemność.
Ale takiego procesu nie można rozwijać do nieskończoności. Oto przed nami stoją ograniczenia w postaci fizycznych rozmiarów atomów. Np. atom krzemu (Si) ma średnicę niecałej ćwierci nanometra. W przypadku tranzystorów o rozmiarach rzędu kilkunastu nm bardzo trudno o przeniesienie ich wykonania z laboratoriów w fabryczne warunki masowej produkcji.
Na przeszkodzie zmniejszaniu rozmiarów tranzystorów stoi też konieczność używania w procesie litografii światła o coraz krótszych falach. Już obecnie wymagane jest korzystanie z zakresów fal ledwie mieszczących się w granicach skrajnego ultrafioletu. W przypadku dalszego zmniejszania tranzystorów, konieczne będzie użycie promieniowania X. Używanie fal o coraz wyższej częstotliwości wymaga także coraz czystszego środowiska. Dlatego procesy produkcyjne wykorzystujące głęboki ultrafiolet muszą być przeprowadzane w warunkach próżniowych.
Tego problemu doświadczają też producenci procesorów, którym coraz trudniej zaspokoić oczekiwania rynkowe właśnie ze względu na trudności w produkcji i duże odpady. Prawo Moore'a, które przez dziesięciolecia mówiło, że liczba tranzystorów w układzie podwaja się co półtora roku, niedawno zostało skorygowane. Obecnie przyjmuje się, że liczba tranzystorów w układzie podwaja się co dwa lata. Możliwe, że niebawem prawo Moore'a w ogóle przestanie działać.
Zmniejszanie rozmiaru tranzystora, to także zmniejszanie rozmiarów jego elementów, w tym grubości warstwy izolatora i objętości bramki pływającej. Grubość izolatora wpływa na jego trwałość i skuteczność utrzymywania zgromadzonego w bramce pływającej ładunku. Są to czynniki krytyczne dla niezawodnego przechowywania danych. Zbyt cienka warstwa izolatora nie tylko łatwiej się degraduje podczas operacji kasowania i zapisu, ale też umożliwia ucieczkę pojedynczych elektronów, co w konsekwencji może doprowadzić do zmiany stanu naładowania w takim stopniu, że podczas odczytu zawartości zostanie on zinterpretowany jako inny stan logiczny.
Także objętość bramki pływającej, a ściślej liczba mieszczących się w niej atomów ma istotny wpływ na przechowywanie informacji. Ujemnie naładowane elektrony mają tendencję do wzajemnego odpychania się. Oznacza to, że pomimo ich niewielkich rozmiarów, nie można upychać ich w bramce pływającej w dowolnie dużych ilościach. Elektrony muszą się znaleźć na zewnętrznej powłoce walencyjnej atomów, gdzie dla większości pierwiastków ich liczba maksymalnie może wynosić 8 na atom. Jest to ograniczenie wynikające z mechaniki kwantowej – reguły Pauliego mówiącej, że na każdym orbitalu mogą się znaleźć maksymalnie dwa elektrony. Krzem, z którego wykonujemy tranzystory, na zewnętrznej powłoce walencyjnej ma właśnie 4 takie orbitale.
Zalecana dla trwałego i bezpiecznego przechowywania danych grubość warstwy izolatora, to ok. 4 nm. W przypadku układów wykonanych w litografii 15 nm spada ona do ok. 2 nm. Spada także z kilku do ok. jednego tysiąca liczba elektronów, jakie można zgromadzić w bramce pływającej. W praktyce oznacza to, że w najnowszych układach TLC i QLC ucieczka już kilkudziesięciu elektronów powoduje odczyt nieprawidłowego stanu logicznego. A elektrony uciekają tym łatwiej, im cieńszy jest izolator. Nie powinno zatem być niespodzianką, że najwyższa awaryjność dotyka właśnie układy wykonywane w litografii poniżej 20 nm, a jednocześnie przechowujących trzy lub cztery bity w jednym tranzystorze.



3D-NAND.



Kolejnym sposobem zwiększenia pojemności układów NAND jest układanie tranzystorów w wiele warstw jedna nad drugą. Dzięki temu można zwielokrotnić pojemność pamięci nie zwiększając powierzchni układu. Takie rozwiązanie pojawiło się relatywnie niedawno, choć wydawać by się mogło, że sam pomysł jest na tyle trywialny, że powinien był pojawić się dawno temu. Otóż i to rozwiązanie nie jest pozbawione wad.
Pierwszym problemem jest indukcja pomiędzy sąsiednimi tranzystorami. Występowała ona i w dwuwymiarowych układach planarnych wywołując pojawianie się pasożytniczych pojemności i skutkując ryzykiem występowania błędów bitowych. Co się dzieje, kiedy w układzie pojawią się kolejne warstwy? Oprócz indukcji pochodzącej od ładunków zgromadzonych w sąsiednich tranzystorach w płaszczyźnie pojawia się dodatkowa indukcja pochodząca od ładunków znajdujących się w warstwach powyżej i poniżej.
Kolejnym problemem jest wspomniane już wcześniej ciepło Joule'a wydzielane zwłaszcza podczas operacji kasowania i programowania układu. Wiemy już, że sprzyja ono degradacji izolatorów bramek pływających. A więc należałoby je jak najszybciej oddawać do otoczenia. Szybkość oddawania ciepła zależy od wielu czynników, spośród których szczególnie ważnym jest powierzchnia oddawania ciepła. To właśnie dlatego najlepsze radiatory mają wiele cienkich blaszek dających dużą powierzchnię. I właśnie przy pomocy radiatora możemy zwiększyć powierzchnię oddawania ciepła z układu. Ale w przypadku układów wielowarstwowych clou problemu leży w zapobieganiu akumulacji ciepła wewnątrz układu i odpowiednim odprowadzaniu go spomiędzy warstw.
Oba problemy potęgują się wraz ze zwiększaniem liczby warstw i zmniejszaniem odstępu pomiędzy warstwami. Pole elektromagnetyczne maleje z kwadratem odległości, a więc im mniejsze odległości pomiędzy tranzystorami, tym silniejsze oddziaływania indukcyjne pomiędzy zgromadzonymi w nich ładunkami. Także oddziaływania termiczne są bardziej destrukcyjne w przypadku zmniejszania rozmiarów obiektów umieszczonych w strukturze krzemowej układów.



Najczęstszy mechanizm awarii nośników półprzewodnikowych.



Wiemy już, że w trakcie eksploatacji układów Flash-NAND dochodzi do ich zużycia, które jest główną przyczyną występowania błędów bitowych. Zazwyczaj kiedy liczba błędów bitowych przekracza możliwości ich korekcji kodami ECC, dany blok zostaje uznany za uszkodzony, jest ewidencjonowany na liście defektów i wyłączany z dalszej eksploatacji. Jeszcze do niedawna algorytmy zarządzania defektami były na tyle skuteczne, że praktycznie nie zdarzały się takie sytuacje, aby przed awarią wystąpiły sygnały ostrzegawcze w postaci problemów z odczytem i uszkodzeniem plików lub struktur logicznych. I nadal do awarii zazwyczaj dochodzi nagle – komputer nagle się resetuje lub po uruchomieniu nie ładuje systemu operacyjnego, a chwila diagnostyki pozwala stwierdzić, że BIOS nie widzi dysku SSD lub rozpoznaje go pod jakąś dziwną nazwą i z zerową albo podejrzanie małą pojemnością.
Dzieje się tak dlatego, że zużyciu i uszkodzeniom ulegają nie tylko bloki przechowujące informację użytkownika, ale też bloki zawierające istotne dla poprawnego adresowania danych tablice translacji. W przypadku, kiedy problem dotyka wpisów w takich tablicach, nie jest możliwe poprawne przypisanie adresów logicznych do właściwych adresów fizycznych i kontroler nie jest w stanie poprawnie zbudować obrazu struktur logicznych ani zapewnić dostępu do plików użytkownika. W przypadku wystąpienia błędów w tej (lub innej istotnej) części oprogramowania układowego kontroler odcina dostęp do układów NAND. Zamiast modelu nośnika w odpowiedzi na wystawione przez BIOS żądanie przedstawienia identyfikatora pozostaje w stanie zajętości (zawieszenia) albo przedstawia się tzw. paszportem technologicznym (np. jako SATAFIRM S11), a zamiast pojemności całego dysku SSD lubi zwrócić pojemność jakiegoś dostępnego bufora.